package com.mmdccj.yugu.service;

import com.github.pagehelper.PageInfo;
import com.mmdccj.yugu.dto.MusicListDto;
import com.mmdccj.yugu.entity.MusicLinkList;
import com.mmdccj.yugu.entity.MusicList;

import java.util.List;

/**
 * @Author: star_
 * @date: 2023-11-22 21:57
 */
public interface MusicListService {
    void insertMusicList(MusicList list);

    List<MusicList> selectMusicList();

    void insertLink(String musicListId, String musicId);

    List<MusicList> getMusicListByUserId(String id);

    MusicList getListImageFrom(String id);

    void updateImage(String src, String id);

    MusicList editListInfo(String id);

    void updateInfo(String id, String intro, String title);

    List<MusicList> getUserMusicList(String id);

    boolean collectMusicList(String userId, String musicListId);

    boolean checkCollected(String userId, String musicListId);

    boolean isMusicList(String musicListId);

    List<MusicList> getCollectList(String userId);

    PageInfo<MusicListDto> getMusicList(int currentPage);

    List<MusicList> get10CD();

    void insertCD(String userId, String title, String image, String intro);

    List<MusicList> getUserCD(String userId);

    MusicList getCDEditInfo(String userId, String id);

    void updateCDInfo(String userId, String id, String title, String introduce, String image);

    void insertMusicToCD(List<MusicLinkList> link);

    void deleteMusicFromCD(String listId, String musicId);

    void deleteCD(String id, String userID);

    PageInfo<MusicList> getRecommendList(String listId);

    void collectAllMusic(List<String> musicIds, String listId);
}
